Methods and associated systems for managing 3d flight paths

ABSTRACT

Methods and associated systems and apparatus for generating a three-dimensional (3D) flight path for a moveable platform such as an unmanned aerial vehicle (UAV) are disclosed herein. The method includes receiving a set of 3D information associated with a virtual reality environment and receiving a plurality of virtual locations in the virtual reality environment. For individual virtual locations, the system receives a corresponding action item. The system then generates a 3D path based on at least one of the set of 3D information, the plurality of virtual locations, and the plurality of action items. The system then generates a set of images associated with the 3D path and then visually presents the same to an operator via a virtual reality device. The system enables the operator to adjust the 3D path via the virtual reality device.

TECHNICAL FIELD

The present technology is directed generally to methods and associatedsystems for generating, analyzing, and verifying a three-dimensional(3D) flight path for a moveable platform such as an unmanned aerialvehicle (UAV).

BACKGROUND

Traditionally, the flight path for a UAV is planned based on certainlocation points (waypoints) identified on a two-dimensional (2D) map.This approach can be inaccurate because it fails to account for thethird dimension (e.g., the height) of the objects, such as buildings,structures, and other obstacles that may exist in the UAV's flight path.This approach also fails to accommodate the need to precisely controlthe UAV during delicate tasks (e.g., flying the UAV in a modern citywith tall buildings to deliver a small item). In addition, it takes along time and a significant amount of practice for the operator of a UAVto become familiar with the path planning tasks using the traditionalapproach. The traditional approach does not provide an operator of a UAVwith intuitive user experiences when operating the UAV. Therefore, thereexists a need for improved methods and systems for generating orplanning 3D flight paths for a UAV.

SUMMARY

The following summary is provided for the convenience of the reader andidentifies several representative embodiments of the disclosedtechnology. Generally speaking, the present technology provides improvedmethods and associated systems that enable an operator to generate,analyze, and verify a 3D flight path of a UAV in a straightforward,easy-to-learn, and intuitive fashion. More particularly, the presenttechnology enables an operator to create and observe a 3D flight path ofa UAV via a virtual reality device. For example, the present technologyenables an operator to observe and verify a generated 3D flight pathfrom a first-person perspective via a virtual reality device. By doingso, the operator can verify whether the generated 3D flight path isexactly what he/she wants in order to perform a certain task (e.g.,filming a movie or taking a picture of a target person or an object). Inaddition, the present technology enables an operator to generate anaccurate 3D flight path and precisely control a UAV to conduct delicateor demanding tasks. Examples of demanding tasks include delivering apackage to an east-facing window on a certain floor of a building,collecting an image of the face of an actor standing at a certainlocation, and filming a moving target from a particular view angle.

Representative embodiments of the present technology include a methodand an associated system for generating a 3D path for a UAV. The methodincludes receiving a set of 3D information (e.g., a set of geographicinformation, or coordinates of objects) associated with an environment(e.g., a place where a UAV is operated in the real world, such as anarea of a city, a defined space in a structure or a building, or anoutdoor area) or a virtual reality environment (e.g., generated based onobjects in the real world). The method further includes receiving aplurality of virtual locations in the virtual reality environment. Insome embodiments, the method can receive physical locations in the realworld environment and then transform the same into virtual locations inthe virtual reality environment. This can be done by (1) a user input(e.g., a user enters the coordinates of particular locations), (2) auser's selection from a recommended list (e.g., an associated systemprovides a list of candidate locations from which the user makes aselection), or (3) retrieving data from a storage device (e.g.,locations of a path that a UAV traveled previously, locations to whichthe UAV has frequently flown, and/or locations generated based on log orhistory files associated with an operator or a UAV). For individualvirtual or physical locations, the system receives one or morecorresponding action items. Representative action items includeperforming a pre-determined task at an individual location, such ascamera aiming, stabilizing the UAV, collecting an image with a specificsize or format, collecting information associated with the individuallocation (e.g., whether an object/individual can be seen by the UAV atthe individual location; collecting/measuring virtual/real ambientinformation at the individual location), configuring a component of heUAV (e.g., adjusting a power output of a UAV power supply component),etc.

The system then receives a plurality of virtual locations (e.g.,locations or coordinates in a virtual reality environment) correspondingto the plurality of locations. In some embodiments, the system canreceive physical locations and then generate corresponding virtuallocations. Once the virtual locations are determined, the system thengenerates a 3D path (e.g., a 3D trajectory) based on the set of 3Dinformation. For example, the 3D path can be based on a requirement thatit can be kept a certain distance from any object described by the setof 3D information. The 3D path is also based on the plurality of virtuallocations (e.g., based on a requirement that the 3D path passes allvirtual locations), and the plurality of action items (e.g., the actionitem can be a UAV flying around a target, and in such case the 3D pathincludes a path around the target). Details of the virtual realityenvironment will be discussed in Detailed Description below.

The system then generates a set of images associated with the 3D pathbased on at least one of the set of 3D information, the plurality ofvirtual locations, and the plurality of action items. For example, thegenerated images can be a set of images observed from a first-personperspective from a UAV in the virtual reality environment. The systemthen visually presents the set of images to an operator. In particularembodiments, the set of images can be presented via a virtual realitydevice. Accordingly, the system enables an operator to observe aproposed 3D flight path in an intuitive manner.

In particular embodiments, the system enables an operator to adjust thegenerated 3D path manually or automatically based on a user setting. Forexample, the operator can create additional locations (e.g., by inputvia a virtual reality device, a keypad, a touch screen, a control stick,and/or other suitable device) to be included in the 3D path in thevirtual environment.

In particular embodiments, the system can include an image componentcoupled to a UAV configured to collect images based on pre-determinedaction item. In some embodiments, the image component can include acolor-sensing camera that collects color images (e.g., those having red,green, and blue (RGB) pixels). In other embodiments, theimage-collection component can be a camera (e.g., a thermal/infraredcamera, or a night vison camera) that collects various other types ofimages.

Some embodiments of the present technology can be implemented as methodsfor configuring a system for planning flight paths or routes for a UAV.The methods can include programming a computer-readable medium withinstructions that, when executed, receive a set of 3D informationassociated with a virtual reality environment (or a real-worldenvironment, in some embodiments) and receive a plurality of virtuallocations in the virtual reality environment (or physical locations inthe real-world environment which will be transformed into virtuallocations). For individual virtual locations, the instructions caninclude receiving one or more corresponding action items. Theinstructions can generate a 3D path based on the set of 3D information,the plurality of virtual locations, and the plurality of action items.The instructions can further generate a set of images associated withthe 3D path based on the set of 3D information, the plurality of virtuallocations, and the plurality of action items. The instructions canvisually present the set of images to an operator. In particularembodiments, images are presented via a virtual reality device. In someembodiments, the instructions can adjust the 3D path in response toreceiving an instruction from the operator via a virtual reality device.Methods and systems in accordance with embodiments of the presenttechnology can include any one or a combination of any of the foregoingelements described above.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A is a block diagram illustrating a system configured inaccordance with representative embodiments of the present technology.

FIG. 1B is a block diagram illustrating a system configured inaccordance with representative embodiments of the present technology.

FIG. 2 is a partially schematic illustration of a UAV configured inaccordance with representative embodiments of the present technology.

FIG. 3A is a partially schematic diagram illustrating a 3D path and anaction item generated in accordance with representative embodiments ofthe present technology.

FIG. 3B is a partially schematic diagram illustrating a 3D path thatavoids obstacles and is generated in accordance with representativeembodiments of the present technology.

FIGS. 4A and 4B are partially schematic diagrams illustrating imagescreated by an image component of a UAV in accordance with representativeembodiments of the present technology.

FIG. 5 is a flowchart illustrating embodiments of a method forgenerating a 3D flight path in accordance with representativeembodiments of the present technology.

DETAILED DESCRIPTION 1. Overview

The present technology is directed generally to methods and associatedsystems for generating, analyzing, and verifying a 3D flight path of aUAV. A representative system configured in accordance with the presenttechnology generates a 3D flight path in a virtual reality environment(e.g., created based on a real-world environment by measuring thedimensions of tangible/physical objects therein and then generatingvirtual data sets that correspond to the physical/tangible objects) atleast partially based on (1) locations that the UAV is to pass, and (2)action items that the UAV is to perform at individual locations. Inparticular embodiments, the locations can include a real-world locationand a virtual reality location. The real-world location can be a set ofcoordinates corresponding to the real-world environment, and the virtualreality location can be a set of coordinates corresponding to thevirtual reality environment. In particular embodiments, the action itemscan include a task to be performed by the UAV (e.g., rotating to face adifferent direction) or by a component (e.g., a camera) of the UAV.Representative examples of the action items include (1) aligning animage component of a UAV with a target; (2) positioning an imagecomponent of a UAV at a horizontal level; (3) maintaining a view angleof an image component of a UAV; (4) aiming an image component of a UAVtoward a target; (5) collecting an image associated with a target via animage component of a UAV; (6) instructing a UAV to fly around a target;and/or (7) instructing a UAV to rotate about an axis.

The system then generates a set of images associated with the 3D flightpath. In particular embodiments, the set of images includes virtualreality images that the UAV would collect (according to the locationsand corresponding action items) when it flies along the 3D flight pathin the virtual reality environment. The flight path or portions of theflight path can be generated a shortest-distance algorithm, or othersuitable algorithm, and can account for the expected endurance of theUAV, among other factors. The system then presents the set of images toan operator and provides the operator with an intuitive experience ofhow environment would look if the UAV were to fly along the generated 3Dflight path in a corresponding real-world environment. The systemprovides the operator an opportunity to review the generated 3D flightpath by reviewing of the set of images. In particular embodiments, theoperator can adjust the 3D flight path by adding/removing anadditional/existing location or action item to the existing 3D flightpath via a virtual reality device.

In some embodiments, the system enables the operator to adjust the 3Dflight path in a real-time manner. For example, a UAV can take off andfly based on a generated 3D flight path. The real-world images collectedby an image component coupled to the UAV can be transmitted to thesystem and then presented to an operator of the UAV. The operator canthen adjust (the not-yet-flown part of) the 3D flight path in thevirtual reality environment. Via this arrangement, the system enablesthe operator to simultaneously monitor and precisely control the UAV tocomplete delicate, precise, and/or otherwise demanding tasks.

In particular embodiments, the system can generate a 3D flight path atleast partially based on one or more rules provided by an operator. Forexample, these rules can be associated with various factors such as aminimum/maximum distance between a UAV and an obstacle or a target,algorithms for obstacle avoidance (e.g., distance-based, UAV-flight-timebased, obstacle based algorithms, etc.), user preferences, and/or othersuitable factors.

In some embodiments, an operator can provide the locations or actionitems to the system via a virtual reality device. In some embodiments,an operator can provide such information by one or more gestures. Forexample, an operator wearing a virtual reality device on his/her arm canposition his/her arm toward a direction in a virtual realityenvironment, so as to indicate a direction that the operator wants theUAV to face or move toward. As another example, an operator wearing avirtual reality device in front of his/her eyes can blink his/her eyesat a particular location in the virtual reality environment, so as toinstruct the system to add this particular location to a 3D flight path.In one example, an operator can input the location information via aninput device or a controller. In yet another example, an operatorwearing a virtual reality device on his/her hand can use particular handgestures (e.g., gestures related to a rock-paper-scissors game) toindicate specific action items.

Unlike conventional systems, aspects of the present technology aredirected to enabling an operator to generate, analyze, and verify 3Dflight paths of a UAV that are suitable for delicate, high-precisionand/or other demanding UAV flight tasks. Also, aspects of the presenttechnology can improve the convenience of flight path planning andprovide a better and more intuitive user experience than traditionalmethods. Several details describing structures or processes that arewell-known and often associated with UAVs and corresponding systems andsubsystems, but that may unnecessarily obscure some significant aspectsof the disclosed technology, are not set forth in the followingdescription for purposes of clarity. Moreover, although the followingdisclosure sets forth several embodiments of different aspects of thetechnology, several other embodiments can have different configurationsor different components than those described in this section.Accordingly, the technology may have other embodiments with additionalelements or without several of the elements described below withreference to FIGS. 1-5.

FIGS. 1-5 are provided to illustrate representative embodiments of thedisclosed technology. Unless provided for otherwise, the drawings arenot intended to limit the scope of the claims in the presentapplication.

Many embodiments of the technology described below may take the form ofcomputer- or controller-executable instructions, including routinesexecuted by a programmable computer or controller. Those skilled in therelevant art will appreciate that the technology can be practiced oncomputer or controller systems other than those shown and describedbelow. The technology can be embodied in a special-purpose computer ordata processor that is specifically programmed, configured orconstructed to perform one or more of the computer-executableinstructions described below. Accordingly, the terms “computer” and“controller” as generally used herein refer to any suitable dataprocessor and can include Internet appliances and handheld devices(including palm-top computers, wearable computers, cellular or mobilephones, multi-processor systems, processor-based or programmableconsumer electronics, network computers, mini computers, a programmedcomputer chip, and the like). Information handled by these computers andcontrollers can be presented at any suitable display medium, including aCRT display or an LCD. Instructions for performing computer- orcontroller-executable tasks can be stored in or on any suitablecomputer-readable medium, including hardware, firmware or a combinationof hardware and firmware. Instructions can be contained in any suitablememory device, including, for example, a flash drive, USB device, orother suitable medium. In particular embodiments, the term “component”can be hardware, firmware, or a set of instructions stored in acomputer-readable medium.

2. Representative Embodiments

FIG. 1A is a block diagram illustrating a system 100 a configured inaccordance with representative embodiments of the present technology. Insome embodiments, the system 100 a can be or can include an apparatushaving a computer-readable media to store information/instructionsassociated with the components of the system 100 a. As shown in FIG. 1A,the system 100 a includes a processor 101, a storage component 102, avirtual reality component 103, a flight path generation component 105, aflight path analysis component 107, a flight path verification component109, and a communication module 110. As shown, the processor 101 iscoupled and configured to control the other components of the system 100a. The storage component 102 is configured to, permanently ortemporarily, store information generated by the system 100 a (e.g., datarelated to a virtual reality environment and/or generated 3D paths). Inparticular embodiments, the storage component 102 can include a diskdrive, a hard disk, a flash drive, a memory, or the like.

As shown in FIG. 1A, the communication component 110 is configured totransmit/receive signals to/from a UAV 11. A shown in FIG. 1A, the UAV11 includes a UAV controller 111 configured to control the UAV 11, a UAVpower supply 113 configured to provide power to the UAV 11, a UAVcommunication component 115 configured to communicate with thecommunication component 110, a UAV sensor 117 configured to measure ordetect information associated with the UAV 11, and a UAV image component119 configured to collect images external to the UAV 11. In particularembodiments, the UAV image component 119 can be a camera that collectstwo-dimensional images with red, green, and blue (RGB) pixels. The UAVimage component 119 can include an image sensor such as a CMOS(complementary metal-oxide semiconductor) image sensor or a CAD(charge-coupled device) image sensor. Examples of the two-dimensionalimage are described further below with reference to FIGS. 3A, 4A and 4B.The collected images can be transmitted to and stored in the storagecomponent 102. In some embodiments, the UAV image component 119 can be athermal image camera, night version camera, or any other suitable devicethat is capable of collecting images.

As illustrated in FIG. 1A, the virtual reality component 103 can serveas an interface between an operator 12 and the system 100 a. The virtualreality component 103 is also configured to generate/maintain a virtualreality environment corresponding to a real-world environment. Inparticular embodiments, the virtual reality component 103 can furtherinclude (1) a virtual reality engine configured to generate the virtualreality environment and (2) a virtual reality device/controllerconfigured to interact with a user. For example, the virtual realityengine can be a set of computer-readable instructions or a softwareapplication that can (1) process collected location informationassociated with physical objects in a real-world environment; and (2)accordingly generate a virtual reality environment that contains virtualobjects corresponding to the physical objects in the real-worldenvironment. In some embodiments, the virtual reality environment can begenerated based on a set of geographical information (e.g., a set ofcoordinates, lines, or shapes associated with one or more objects in aparticular area of the real-world environment). In some embodiments, thevirtual reality environment can be generated based on software such as3DSB Max® available from Auto desk Inc. Of U.K., or other suitable3D-model-building applications. Embodiments of the virtual realitydevice include a wearable virtual reality device, tablets, touchscreens, displays, etc. In particular embodiments, the wearable virtualreality device can include a headset, a helmet, a goggle, a pair ofvirtual reality glasses, a glove, a sleeve, a hand-hold device, etc.

The flight path generation component 105 is configured to generate a 3Dpath at least partially based on one or more (virtual or physical)locations provided by the operator 12 or suggested by the system 100 a.In some embodiments, the locations can be provided as virtual realitylocations in the virtual reality environment (e.g., the operator 12 canidentify these virtual locations via the virtual reality component 103).In some embodiments, the locations can be provided as real-worldlocations (e.g., in a form of real-world coordinates) in the real-worldenvironment. In such embodiments, the provided real-world locations canbe transformed into corresponding virtual locations by the virtualreality component 103. For example, the system 100 a can first determinethe relationship between the coordinate systems used in the real-worldenvironment and the virtual reality environment. Once the relationshipis determined, the system 100 a can then transform the providedreal-world locations into the corresponding virtual locations (or viceversa, in other embodiments).

The flight path generation component 105 is also configured to generatethe 3D path at least partially based on one or more action itemscorresponding to the provided/suggested locations. In particularembodiments, the action item includes performing a pre-determined taskat a particular location. In some embodiments, for example, the actionitem can involve UAV movements, such as directing a UAV to fly around atarget, or instructing a UAV to rotate about an axis. In someembodiments, the action item can involve an action performed by acomponent of a UAV. In such embodiments, for example, the action itemcan include: aligning an image component of a UAV with a target;positioning an image component of a UAV at a horizontal level;maintaining a view angle of an image component of a UAV; aiming an imagecomponent of a UAV toward a target; collecting an image associated witha target via an image component of a UAV; collecting a set ofinformation by a sensor of a UAV; and/or instructing a communicationcomponent of a UAV to transmit a set of information to a remote device(e.g., a smartphone under the control of the operator 12). Theinformation can include UAV information measured by a UAV sensor orimages collected by a UAV image component.

When generating a 3D flight path, the flight path generation component105 also considers the objects, targets, or obstacles in the virtualreality environment. In particular embodiments, the objects, targets, orobstacles in the virtual reality environment can be identified as a setof 3D information (e.g., in formats such as coordinates, lines, shapes,etc.). The flight path generation component 105 can generate a 3D flightpath based on one or more pre-determined rules. In some embodiments,these rules can include rules of physics, such as that the 3D flightpath cannot pass through a tangible object in the virtual realityenvironment, or through the ground of the virtual reality environment.In some embodiments, the rules can relate to the maneuverability of aUAV, such as the minimum turn radius of a UAV, the maximum/minimum speedof a UAV, and/or the maximum/minimum acceleration of a UAV.

After a 3D flight path is generated, the flight path analysis component107 can then analyze the generated 3D flight path and perform asimulation in which a UAV flies along the generated 3D flight path inthe virtual reality environment. In particular embodiments, thesimulation includes generating a set of virtual reality images that theUAV can collect at each provided locations along the 3D flight path inthe virtual reality environment. The flight path analysis component 107then visually presents the set of images to the operator 12. Inparticular embodiments, the set of images can be visually presented tothe operator 12 via the virtual reality component 103. By doing so, thesystem 100 a enables the operator 12 to visually experience the 3Dflight path from a first person perspective. By doing so, the operator12 can have a clear and intuitive sense or understanding of how a UAVwould travel in the real world environment. Meanwhile, the operator 12can review and verify whether a UAV can perform an action item as he/shedesires (e.g., filming a target from a particular view angle).

In the illustrated embodiments, the flight path verification component109 is configured to further verify a generated 3D flight path so as tomake sure that the 3D flight path meets certain pre-determinedrequirements. The requirements can be set by the operator 12 (e.g.,based on the operator's preferences or level of skill when operating aUAV, and/or from a third party entity (e.g., a government regulationprohibiting a UAV from flying in a certain area). By verifying thegenerated 3D flight path, the system 100 a can provide a safe andpracticable 3D flight path to the operator 12.

The system 100 a can also enable the operator 12 to adjust the generated3D flight path. In particular embodiments, the operator 12 canadd/cancel additional/existing locations to the generated 3D flight pathor adjust the curvature of the generated 3D flight path, via the virtualreality component 103. In some embodiments, the operator 12 can adjustthe 3D flight path manually (e.g., via a virtual reality device or aninput device). In some embodiments, the operator 12 can adjust the 3Dflight path in an automatic manner (e.g., based on a user preferencethat the system has learned from the operator's prior adjustments togenerated 3D flight paths during prior tasks/projects). By so doing, thesystem 100 a enables the operator 12 to precisely control the UAV 11 tocomplete desirable tasks.

FIG. 1B is a block diagram illustrating a system 100 b configured inaccordance with representative embodiments of the present technology.The system 100 b includes a 3D flight control system 10 and a UAV 13. Asshown in FIG. 1B, compared to the system 100 a described in FIG. 1, the3D flight control system 10 includes an additional input component 104configured to receive a user input from the operator 12. The user inputcan include: (1) locations or action items to be included in a 3D flightpath or (2) one or more rules or requirements to be considered andfollowed when generating a 3D flight path. In particular embodiments,the additional input component 104 can be a keypad, a touch screen, acontrol stick, a keyboard, or any other suitable devices.

As shown in FIG. 1B, the UAV 13, as compared to the UAV 11 described inFIG. 1A, further includes a UAV storage component 112 and a UAV imageanalysis component 114. The UAV image analysis component 114 isconfigured to compare: (1) the set of images simulated by the flightpath analysis component 107 in the virtual reality environment and (2)the images that are actually collect by the UAV component 119 when theUAV 13 flies in the real-world environment. In some embodiments, if theUAV image analysis component 114 identifies a discrepancy between thesetwo sets of images, it will notify the operator 12. In some embodiments,if the UAV image analysis component 114 identifies a discrepancy betweenthese two sets of images, the UAV image analysis component 114 willnotify the UAV controller 111, and then the UAV controller 111 willaccordingly adjust the UAV 13 (or its components) so as to minimize thediscrepancy. For example, a simulated image at location X may includethe face of a target person located at the center of the simulatedimage. When the UAV 13 flies to location X, the UAV image analysiscomponent 114 may find that the images actually collected by the UAVimage component 119 do not include the face of the target person (e.g.,it may only include the body of that target person). Then the UAV imageanalysis component 114 can notify the UAV controller 111 to rotate ormove the UAV 13 accordingly such that the face of the target person canbe shown at the center of the actually collected images. Embodiments ofthe collected images will be further discussed below with reference toFIGS. 4A and 4B.

FIG. 2 is a partially schematic illustration of a UAV 20 configured inaccordance with representative embodiments of the present technology.The UAV 20 can include an air frame 210 that can in turn include acentral portion and one or more outer portions. In particularembodiments, the air frame 210 can include four outer portions (e.g.,arms) that are spaced apart from each other as they extend away from thecentral portion. In other embodiments, the air frame 210 can includeother numbers of outer portions. In any of these embodiments, individualouter portions can support components of a propulsion system that drivesthe UAV 20. For example, individual arms can support correspondingindividual motors that drive corresponding propellers 206.

The air frame 210 can carry a payload 204, for example, an imagingdevice. In particular embodiments, the imaging device can include animage camera (e.g., a camera that is configured to capture video data,still data, or both). The image camera can be sensitive to wavelengthsin any of a variety of suitable wavelength bands, including visual,ultraviolet, infrared or combinations thereof. In still furtherembodiments, the payload 204 can include other types of sensors, othertypes of cargo (e.g., packages or other deliverable), or both. In manyof these embodiments, the payload 204 is supported relative to the airframe 210 with a gimbal 202 that allows the payload to be independentlypositioned relative to the air frame 210. Accordingly, for example whenthe payload 204 includes the imaging device, the imaging device can bemoved relative to the air frame 210 to track a target. Moreparticularly, for example, the imaging device can be rotated by an anglerelative to the air frame 210 (or relative to another reference planesuch as a horizontal plane). When the UAV 20 is not in flight, a landinggear can support the UAV 20 in a position that protects the payload 204.

In a representative embodiment, the UAV 20 includes a controller 208carried by the UAV 20. The controller 208 can include an on-boardcomputer-readable medium 203 that executes instructions directing theactions of the UAV 20, including, but not limited to, operation of thepropulsion system and the imaging device. The on-board computer-readablemedium 203 can be removable from the UAV 20.

FIG. 3A is a partially schematic diagram illustrating a generated 3Dpath 301 and an action item in accordance with representativeembodiments of the present technology. In the illustrated embodiments,the generated 3D path 301 passes locations A, B, C, and D. In theillustrated embodiments, the action item includes taking a picture 303of an operator 30 by a UAV image component 119 at location A. The actionitem can further specify a particular format of the picture 303 to betaken. For example, the action item can require that the picture 303 istaken at a specific angle of view that can be measured based on ahorizontal angle (e.g., angle A_(h) in FIG. 3A), a vertical angle (e.g.,angle A_(v) in FIG. 3A), or a diagonal angle (angle A_(d) in FIG. 3A).More particularly, the angle of view of the image camera 119 determineshow the picture 303 looks, and where the operator 30 is located in thepicture 303 (e.g., the operator 30 may be located at the center of thepicture 303 and occupy a half or a quarter of the total image area ofthe picture 303).

FIG. 3B is a partially schematic diagram illustrating a generated 3Dpath 303 that avoids first and second obstacles 31, 33 in accordancewith representative embodiments of the present technology. The shape ofthe obstacle can be one of the factors to consider when generating the3D path 303. In the illustrated embodiments, for example, the generated3D path 303 is to pass through locations A, B, C, and D. Flying alongthe 3D path 303, the UAV can avoid the first obstacle 31 and the secondobstacle 33. The first obstacle 31 is a “slim-type” obstacle which has alow length-verses-height ratio. In the illustrated embodiment, the UAVflying along the 3D path 303 avoids the first obstacle 31 by flyingaround it. As shown, the second obstacle 33 is a “wide-type” obstaclewhich has a high length-verses-height ratio. The UAV flying along the 3Dpath 303 avoids the second obstacle 33 by flying over it. In someembodiments, an operator can set his/her own rules (e.g., to keep a10-meter distance between the UAV and a “slim-type” obstacle; or fly 15meters above a “wide-type” obstacle) when generating the 3D path 303.

FIGS. 4A and 4B are partially schematic diagrams illustrating images 41and 43 created by an image component of a UAV in accordance withrepresentative embodiments of the present technology. The image 41 shownin FIG. 4A represents a collected image before an adjustment by thesystem based on an action item. The image 43 shown in FIG. 4B representsan adjusted image after an adjustment based on the action item. In FIG.4A, the image 41 can include a specific area 401, a target person 403,and a background item 405. In the illustrated embodiments, an actionitem associated with the image 400 can be “positioning the face of thetarget person 403 in the center of the specific area 401” and “makingthe face of the target person 403 occupy more than 50% of the specificarea 401.” Based on the action item, the system can adjust the image 41to become the image 43 (e.g., by changing planned 3D flight paths) so asto satisfy the requirements specified in the action item. Using similartechniques, the system can enable an operator to precisely control a UAVor a component of the UAV to perform other particular tasks by settingparameters for corresponding action items.

FIG. 5 is a flowchart illustrating embodiments of a method 500 forgenerating a 3D flight path in accordance with representativeembodiments of the present technology. The method 500 can be initiatedby a request from an operator. At block 501, the method receives a setof 3D information associated with a virtual reality environment. Forexample, the 3D information can be created by software such as 3DSA®available from Auto desk Inc. Of U.K., or other suitable3D-model-building applications. Block 503 includes receiving a pluralityof virtual locations in the virtual reality environment. In someembodiments, the method 500 can include receiving physical locations (inthe real-world environment) and transforming the same to virtuallocations in the virtual reality environment. The physical or virtuallocations can be provided in a format of 3D coordinates (e.g., tables ofpoints). At block 505, for individual virtual locations, the systemreceives at least one corresponding action item. In particularembodiments, the action item can include (1) aligning an image componentof a UAV with a target; (2) positioning an image component of a UAV at ahorizontal level; (3) maintaining a view angle of an image component ofa UAV; (4) aiming an image component of a UAV toward a target; (5)collecting an image associated with a target via an image component of aUAV; (6) instructing a UAV to fly around a target; and/or (7)instructing a UAV to rotate about an axis.

At block 507, the system generates a 3D path based on the set of 3Dinformation, the plurality of virtual locations, and the plurality ofaction items. The method 500 then continues at block 509 to generate aset of images associated with the 3D path based on the set of 3Dinformation, the plurality of virtual locations, and the plurality ofaction items. In some embodiments, the set of images can be generated bya virtual reality system. At block 511, the system visually presents theset of images to an operator. In particular embodiments, the set ofimages is visually presented to the operator via a virtual realitydevice. The method 500 then returns to await for further instructions.In some embodiments, the system can further adjust the 3D path uponreceiving an instruction from the operator via a virtual reality device.

From the foregoing, it will be appreciated that specific embodiments ofthe technology have been described herein for purposes of illustration,but that various modifications may be made without deviating from thetechnology. For example, particular embodiments were described above inthe context of a UAV. In other embodiments, the present technology canbe implemented by other suitable moveable devices, such as an unmannedground vehicle (UV), an unmanned surface vehicle (US), or a robot.

Further, while advantages associated with certain embodiments of thetechnology have been described in the context of those embodiments,other embodiments may also exhibit such advantages, and not allembodiments need necessarily exhibit such advantages to fall with withinthe scope of the present technology. Accordingly, the present disclosureand associated technology can encompass other embodiments not expresslyshown or described herein.

At least a portion of the disclosure of this patent document containsmaterial which is subject to copyright protection. The copyright ownerhas no objection to the facsimile reproduction by anyone of the patentdocument or the patent disclosure, as it appears in the Patent andTrademark Office patent file or records, but otherwise reserves allcopyright rights whatsoever.

1. A method for generating a three-dimensional (3D) path for a moveableplatform, the method comprising: receiving a set of 3D informationassociated with a virtual reality environment; receiving a plurality ofvirtual locations in the virtual reality environment; for individualvirtual locations, receiving a corresponding action item; generating a3D path in the virtual reality environment based on at least one of theset of 3D information, the plurality of virtual locations, and theplurality of action items; generating a set of images associated withthe 3D path based on the set of 3D information, the plurality of virtuallocations, and the plurality of action items; and visually presentingthe set of images to an operator.
 2. The method of claim 1, wherein themovable platform includes an unmanned aerial vehicle (UAV), an unmannedground vehicle (UV), an unmanned surface vehicle (US), or a robot. 3.The method of claim 1, further comprising generating the set of imagesby a flight simulating process.
 4. The method of claim 1, wherein theset of images is visually presented via a virtual reality device, andwherein the set of images is visually presented to the operator based onan order determined by the 3D path.
 5. The method of claim 1, furthercomprising adjusting the 3D path in response to receiving an instructionfrom the operator via a virtual reality device,
 6. The method of claim1, wherein the moveable platform includes an image component, andwherein the action item includes at least one of (a) aligning the imagecomponent with a target, (b) establishing or maintaining a view angle ofthe image component, (c) aiming the image component toward a target, (d)collecting an image associated with the target via the image component,and (e) aiming the image component toward the target and instructing themovable platform to move around the target. 7-10. (canceled)
 11. Themethod of claim 1, wherein the plurality of virtual locations correspondto a plurality of physical locations.
 12. The method of claim 1, furthercomprising receiving an additional action item corresponding to one ofthe plurality of virtual locations.
 13. The method of claim 12, whereinthe additional action item is received by a manual input.
 14. The methodof claim 1, further comprising manually adjusting the plurality ofaction items.
 15. The method of claim 1, further comprising generatingthe 3D path at least partially based on an obstacle avoidance algorithmand a shape of an obstacle in the environment.
 16. The method of claim1, further comprising generating the 3D path at least partially based ona shortest distance algorithm and an expected moving time of themoveable platform.
 17. (canceled)
 18. (canceled)
 19. The method of claim1, further comprising generating the 3D path at least partially based onan input from the operator.
 20. The method of claim 19, wherein theinput is received from the operator via the virtual reality device. 21.The method of claim 19, wherein the input is associated with a gestureof the operator.
 22. The method of claim 1, further comprisingdetermining the plurality of virtual locations at least partially basedon an input from the operator.
 23. The method of claim 1, wherein theinstruction is received as a gesture by the operator.
 24. The method ofclaim 5, further comprising adjusting the 3D path in response toreceiving the instruction from the operator by at least one of: (a)identifying an additional virtual location in a virtual environmentcorresponding to the environment and adjusting the 3D path to includethe additional virtual location; (b) identifying an existing virtuallocation from the plurality of virtual locations and adjusting the 3Dpath to exclude the identified existing virtual location; and (c)adjusting a curvature of the 3D path visually presented in the virtualenvironment corresponding to the environment.
 25. (canceled) 26.(canceled)
 27. A system for controlling a moveable platform, the systemcomprising: a processor; a storage component coupled to the processorand configured to store a set of 3D information associated with avirtual reality environment; an input component coupled to the processorand configured to receive a plurality of virtual locations in thevirtual reality environment and a plurality of action items, whereinindividual virtual locations correspond to one or more of the actionitems; a flight path generation component coupled to the processor andconfigured to generate a 3D path based on at least one of the set of 3Dinformation, the plurality of virtual locations, and the plurality ofaction items; and a flight path analysis component coupled to theprocessor and configured to generate a set of images associated with the3D path based on the set of 3D information, the plurality of virtuallocations, and the plurality of action items; wherein the set of imagesis visually presented to the operator via the virtual reality component.28-44. (canceled)
 45. A method for configuring a moveable platformcontroller, comprising: programming a computer-readable medium withinstructions that, when executed: receive a set of 3D informationassociated with a virtual reality environment; receive a plurality ofvirtual locations in the virtual reality environment; for individualvirtual locations, receive a corresponding action item; generate a 3Dpath in the virtual reality environment based on at least one of the setof 3D information, the plurality of virtual locations, and the pluralityof action items; generate a set of images associated with the 3D pathbased on the set of 3D information, the plurality of virtual locations,and the plurality of action items; and visually present the set ofimages to an operator via a virtual reality device. 46-59. (canceled)